1. Field of the Invention
The present invention relates to a program editing device for a programmable controller for editing control programs executable in the programmable controller.
2. Discussion of the Related Art
For example, JP2007-11713 A discloses prior art relating to a programmable controller (PLC: also called “programmable logic controller”) in which a CPU module controls the exchange of signals between I/O modules and external safety devices. In the prior art, a plurality of function blocks corresponding to respective I/O modules are arranged on a display, and a user uses a computer system to connect these function blocks with connecting elements, coupling elements or the like so as to prepare and edit a control program which controls the exchange of signals between the I/O modules and the external devices.
The programmable controller in the prior art employs a so-called “image programming” method, in which a control program can be prepared only by connecting a plurality of function blocks arranged on the display, so that any user unskilled in preparing programs is enabled to prepare control programs.
On the other hand, for users skilled in preparing control programs, there has been a need to make the best use of their abilities in preparing sophisticated control programs which are suitable to external safety devices connected to respective I/O modules or other external devices than the external safety devices. For this purpose, there has been existed a programmable controller employing a program preparation method (free programming method) which provides a programming user with a wide range of freedom for preparation of control programs.
The latter mentioned prior art is designed to use ladder circuits and function blocks in preparing circuit applications and makes it possible to carry out the programming highest in freedom though the users are required to have acquired engineering skill relating to programming.
In the programmable controllers of the latter mentioned type, it may the case that there are used function blocks (user function blocks or unprotected function blocks) including function programs which have been prepared by the programming user. In this case, the control program so prepared may become a program in which maker function blocks (protected function blocks) having been supplied by the manufacturer of the programmable controller are mixed together with the aforementioned user function blocks.
In programmable controllers, it has been a practice to store a plurality of function blocks in a library which is provided in a CPU module or a computer system connected to the CPU module. Therefore, it is often the case that the library has been locked to make it unable to alter the function programs in the maker function blocks. Accordingly, in the aforementioned programmable controller wherein the program preparation can be done in the aforementioned “free programming” method, the library so locked brings about the situation that it is also impossible to alter the stored user function blocks.
To obviate this drawback, there has been known a method in which a plurality of libraries are provided to separate one storing maker function blocks only from another storing user function blocks only. However, the use of the plurality of libraries often results in an increase of the memory capacity and hence, makes a cause of increasing the manufacturing cost for the programmable controller.